//
// Created by wangliewei on 2021/8/16.
//
/*
法一：先快排，再遍历 O(N*logN)
 快速选择算法是O(N)的
 基于快排的思想
 c++中，如果局部变量和全局变量重名，在局部变量所在域中会优先使用局部变量
*/
#include<iostream>
using namespace std;

const int N = 100010;
int q[N];

int quick_select(int l,int r,int  k) {

    //这里可以写大于等于，；但是快排里只能写大于等于
    if (l == r) return q[l];
    int x = q[l], i = l - 1, j = r + 1;
    while (i < j) {
        //以下两种写法都是可以的
        // do i++; while(q[i] < x);
        // do j--; while(q[j] > x);
        while (q[++i] < x);
        while (q[--j] > x);
        if (i < j){
            swap(q[i], q[j]);
        }
    }

    int ll = j - l + 1;
    if (k <= ll) return quick_select(l, j, k);

    return quick_select(j + 1, r, k - ll);

}


int main(){
    int n, k;
    scanf("%d%d", &n, &k);
    for (int i = 0; i < n; i++) {
        scanf("%d", &q[i]);
    }

    cout << quick_select(0, n - 1, k)<<endl;

    return 0;
}






